import request from '@/config/axios'

// 技防管理信息 VO
export interface TechDefenseVO {
  id: number // id
  customerId: number // 客户编号
  customerName?: string // 客户名称
  endDate: Date // 安消融合服务合同结束日期
  createTime: Date // 创建时间
  updateTime: Date // 更新时间
  creator: string // 创建人
  creatorName?: string // 创建人名称
  updater: string // 修改人
  updaterName?: string // 修改人名称
  auditStatus: number // 审核状态
  processInstanceId?: string // 审核流程实例编号
}

// 技防管理信息 API
export const TechDefenseApi = {
  // 查询技防管理信息分页
  getTechDefensePage: async (params: any) => {
    return await request.get({ url: `/crm/tech-defense/page`, params })
  },

  // 查询技防管理信息详情
  getTechDefense: async (id: number) => {
    return await request.get({ url: `/crm/tech-defense/get?id=` + id })
  },

  // 技防管理信息审核
  submit: async (ids: number[],isReCreate: boolean) => {
    return await request.put({ url: `/crm/tech-defense/submit`,params: { ids: ids.join(',') ,isReCreate: isReCreate }} )
  },

  // 根据客户查询技防管理信息详情
  getTechDefenseByCustomerId: async (customerId: number) => {
    return await request.get({ url: `/crm/tech-defense/getByCustomerId?customerId=` + customerId })
  },

  // 新增技防管理信息
  createTechDefense: async (data: TechDefenseVO) => {
    return await request.post({ url: `/crm/tech-defense/create`, data })
  },

  // 修改技防管理信息
  updateTechDefense: async (data: TechDefenseVO) => {
    return await request.put({ url: `/crm/tech-defense/update`, data })
  },

  // 删除技防管理信息
  deleteTechDefense: async (id: number) => {
    return await request.delete({ url: `/crm/tech-defense/delete?id=` + id })
  },

  // 导出技防管理信息 Excel
  exportTechDefense: async (params) => {
    return await request.download({ url: `/crm/tech-defense/export-excel`, params })
  },

// ==================== 子表（用电探测装置安装情况） ====================

  // 获得用电探测装置安装情况列表
  getTechDefenseElectricalListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-electrical/list-by-defense-id?defenseId=` + defenseId })
  },

// ==================== 子表（可燃气体探测器安装情况） ====================

  // 获得可燃气体探测器安装情况列表
  getTechDefenseGasListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-gas/list-by-defense-id?defenseId=` + defenseId })
  },

// ==================== 子表（氰化氢气体检测安装情况） ====================

  // 获得氰化氢气体检测安装情况列表
  getTechDefenseHcnListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-hcn/list-by-defense-id?defenseId=` + defenseId })
  },

// ==================== 子表（烟感安装情况） ====================

  // 获得烟感安装情况列表
  getTechDefenseSmokeListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-smoke/list-by-defense-id?defenseId=` + defenseId })
  },

// ==================== 子表（危险源/重点消防部位管理信息） ====================

  // 获得CRM CRM 企业危险源与技防信息-危险源/重点消防部位管理信息列表
  getTechDefenseManageListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-manage/list-by-defense-id?defenseId=` + defenseId })
  },

// ==================== 子表（烟感安装情况） ====================

  // 获得CRM CRM 企业危险源与技防信息-烟感安装情况列表
  getTechDefenseMapListByDefenseId: async (defenseId) => {
    return await request.get({ url: `/crm/tech-defense/tech-defense-map/list-by-defense-id?defenseId=` + defenseId })
  },
}
